package com.spgf.model.rn;

import java.util.List;

import android.content.Context;

import com.archtecture.model.exceptions.NegocioException;
import com.archtecture.model.patterns.PadraoRNAb;
import com.spgf.model.dao.IdentificacaoCategoriaDAO;
import com.spgf.model.dao.util.PadraoDAOAb;
import com.spgf.model.entities.CategoriaModel;
import com.spgf.model.entities.IdentificacaoCategoriaModel;

public class IdentificacaoCategoriaRN extends PadraoRNAb<IdentificacaoCategoriaModel> {

	public IdentificacaoCategoriaRN(final Context context) {
		super(context);
	}

	@Override
	public PadraoDAOAb getDaoInstance() {
		return new IdentificacaoCategoriaDAO(context);
	}

	public CategoriaModel identificarCategoriaPorDescricao(String lObservacao) throws NegocioException {

		StringBuilder lSb = new StringBuilder();
		lSb.append(" DS_CATEGORIA LIKE '%" + lObservacao + "%' ");
		lSb.append(" OR CD_IDENTIFICACAO_CATEGORIA = 1 ");

		List<IdentificacaoCategoriaModel> lColl = obterPorFiltro(lSb.toString());
		return lColl.iterator().next().getCategoria();
	}

	@Override
	public List<IdentificacaoCategoriaModel> obterPorFiltro(IdentificacaoCategoriaModel pModel) throws NegocioException {

		StringBuilder lSb = new StringBuilder();
		lSb.append(" DS_CATEGORIA LIKE '%" + pModel.getDescricaoCategoria() + "%' ");

		return obterPorFiltro(lSb.toString());
	}

}
